home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / sbin / installkernel < prev    next >
Text File  |  2009-02-16  |  2KB  |  79 lines

  1. #!/bin/sh
  2. # Copyright (C) 1995 - 1998, Ian A. Murdock <imurdock@debian.org>
  3. # Copyright (C) 1998, 1999, Guy Maor
  4. # Copyright (C) 2002, Matthew Wilcox
  5. # Copyright (C) 2002, 2004, 2005, 2007, Clint Adams
  6. #
  7. # Install the kernel on a Debian Linux system.
  8. #
  9. # This script is called from /usr/src/linux/arch/i386/boot/install.sh.
  10. # If you install it as /sbin/installkernel, you can do a "make install"
  11. # from a generic kernel source tree, and the image will be installed to
  12. # the proper place for Debian GNU/Linux.
  13.  
  14. set -e
  15.  
  16. # Parse the command line options
  17. if [ $# -eq 3 ] || [ $# -eq 4 ] ; then
  18.   img="$2"
  19.   map="$3"
  20.   ver="$1"
  21.   if [ $# -eq 4 ] && [ -n "$4" ] ; then
  22.       dir="$4"
  23.   else
  24.       dir="/boot"
  25.   fi
  26. else
  27.   echo "Usage: installkernel <version> <image> <System.map> <directory>"
  28.   exit 1
  29. fi
  30.  
  31. # Create backups of older versions before installing
  32. updatever () {
  33.   if [ -f "$dir/$1-$ver" ] ; then
  34.     mv "$dir/$1-$ver" "$dir/$1-$ver.old"
  35.   fi
  36.  
  37.   cat "$2" > "$dir/$1-$ver"
  38.  
  39.   # This section is for backwards compatibility only
  40.   if test -f "$dir/$1" ; then
  41.     # The presence of "$dir/$1" is unusual in modern intallations, and
  42.     # the results are mostly unused.  So only recreate them if they
  43.     # already existed.
  44.     if test -L "$dir/$1" &&
  45.         [ "$(readlink -f ${dir}/${1})" = "${dir}/${1}-${ver}" ]; then
  46.         ln -sf "$1-$ver.old" "$dir/$1.old"
  47.         ln -sf "$1-$ver" "$dir/$1"
  48.     else
  49.         mv "$dir/$1" "$dir/$1.old"
  50.         cat "$2" > "$dir/$1"
  51.     fi
  52.   fi
  53. }
  54.  
  55. if [ "$(basename $img)" = "vmlinux" ] ; then
  56.   updatever vmlinux "$img"
  57. else
  58.   updatever vmlinuz "$img"
  59. fi
  60. updatever System.map "$map"
  61.  
  62. config=$(dirname "$map")
  63. config="${config}/.config"
  64. if [ -f "$config" ] ; then
  65.   updatever config "$config"
  66. fi
  67.  
  68. ## This is very far from existing practice in modern Debian installations
  69. ########################################################################
  70. # if [ "$(basename $img)" = "vmlinux" ] && [ "$(id -u)" = "0" ] ; then #
  71. #   mkboot -i ${dir}/vmlinux-${ver}                                    #
  72. # else                                                                 #
  73. #   mkboot -i ${dir}/vmlinuz-${ver}                                    #
  74. # fi                                                                   #
  75. ########################################################################
  76.  
  77. exit 0
  78.